Read in water year data from CSVs in the
intermediate_data directory
#read in necessary CSV files from prior RMDs
all_streamflow <- read_csv(here("intermediate_data", "all_streamflow.csv"))
air_temp_30_clean <- read_csv(here("intermediate_data", "air_temp_30_clean.csv"))
mc_clean <- read_csv(here("intermediate_data", "mc_clean.csv")) %>%
rename(datetime = collected)
precip_15_clean <- read_csv(here("intermediate_data", "precip_15_clean.csv"))
precip_6h_clean <- read_csv(here("intermediate_data", "precip_6h_clean.csv"))
precip_12h_clean <- read_csv(here("intermediate_data", "precip_12h_clean.csv"))
precip_daily_clean <- read_csv(here("intermediate_data", "precip_daily_clean.csv"))
se_clean <- read_csv(here("intermediate_data", "se_clean.csv"))
Set constant values
#set constants
min_year = 2017
max_year = 2021
#format air temperature data for plotting
airtemp_join <- air_temp_30_clean %>%
pivot_wider(
names_from = "airtemp_type",
values_from = "airtempC"
) %>%
subset(year >= min_year & year <= max_year) %>%
mutate(freezing = as.factor(freezing))
#calculate the ratio of the 2 y-axes to plot the variables together
trans_value <- max(airtemp_join$airtempc_100, na.rm = TRUE) / max(all_streamflow$stream_height_ft, na.rm = TRUE)
#plot
p_air <- ggplot() +
#airtemp data
geom_line(data = airtemp_join,
aes(x = datetime,
y = airtempc_100),
color = "pink",
alpha = 0.4) +
#streamflow data
geom_line(data = all_streamflow,
aes(x = datetime,
y = stream_height_ft),
color = "blue",
size = 0.75) +
#manual check points
geom_point(data = mc_clean,
aes(x = datetime,
y = stripchart_stage),
size = 0.5) +
theme_classic() +
labs(x = "Time",
title = paste0("S2 Bog Streamflow and Air Temperature (", min_year, "-", max_year, ")"),
subtitle = "Air temperature is plotted in pink. \n Streamflow is plotted in blue. \n Manual streamflow checkpoints are plotted as black dots.") +
theme(plot.title = element_text(hjust = 0.5),
plot.subtitle = element_text(hjust = 0.5,
size = 7)) +
scale_y_continuous(
# Features of the first axis
name = "Air Temperature / 100 (ºC)",
# Add a second axis and specify its features
sec.axis = sec_axis(trans = ~.*trans_value, name = "Stream Height (ft)")
)
#static plot
#p_air
#save the plot in the figures folder
ggsave(filename = "streamflow_airtemp_mc.png",
plot = p_air,
path = "figures/",
width = 8,
height = 4,
units = c("in"),
dpi = 300)
#interactive plot
ggplotly(p_air)
precip_15_join <- precip_15_clean %>%
pivot_wider(
names_from = "precip_type",
values_from = "precip_in"
) %>%
subset(year >= min_year & year <= max_year)
precip_air <- full_join(x = precip_15_join,
y = airtemp_join,
by = c("datetime", "year")) %>%
subset(year >= min_year & year <= max_year)
p_pa <- ggplot() +
#airtemp data
geom_line(data = airtemp_join,
aes(x = datetime,
y = airtempc_100),
color = "pink",
alpha = 0.5,
size = 0.25) +
#precipitation data
geom_line(data = precip_15_join,
aes(x = datetime,
y = precip_10,
colour = I("grey")),
size = 0.25) +
theme_classic() +
labs(x = "Time",
title = "S2 Precipitation Every 15min and Air Temperature Every 30min",
subtitle = "Cumulative precipitation is plotted in grey. \n Air temperature is plotted in pink.") +
theme(plot.title = element_text(hjust = 0.5),
plot.subtitle = element_text(hjust = 0.5,
size = 7)) +
scale_y_continuous(
# Features of the first axis
name = "Air Temperature (ºC) / 100",
# Add a second axis and specify its features
sec.axis = sec_axis(trans = ~., name = "Cumulative Precipitation (in) / 10")
)
#static plot
p_pa
ggsave(filename = "precip_15_airtemp_30.png",
plot = p_pa,
path = "figures/",
width = 10,
height = 5,
units = c("in"),
dpi = 300)
#interactive plot
#ggplotly(p_pa)
Note that this file is being knit as index.html
into the air_comparisons
repository in order to update the GitHub pages
website, where the plots can be viewed online.